<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

/**
 * BLOG KATEGORİ MODEL DOSYASI
 *
 * @author Ali OYGUR <alioygur@gmail.com>
 * */
class Blog_category_model extends MY_Model
{
	public function __construct()
	{
		parent::__construct();
	}

	/**
	 * Ana kategorileri döndürür.
	 *
	 * @return object
	 **/
	public function get_parents()
	{
		$q = $this->db
			->select("id, title, slug")
			->where("parent_id", 0)
			->get('blog_category');

		if (!$q->num_rows())
			return false;

		return $q->result();
	}

	/**
	 * ----------------------------------------------------------------------
	 * HELPERS
	 * ----------------------------------------------------------------------
	 */

	/**
	 * Tüm kategorileri ağaç menü şeklinde selectbox şeklinde döndürür.
	 *
	 * @param int ebeveyn ID
	 * @param int önek 'in sayısı
	 * @param int gelmesini istemediğiniz sayfanın ID si (genelde sayfa düzenlenirken
	 * sayfa kendi kendinin üstü olmasın diye kullanılıyor)
	 * @return array
	 */
	public function tree_selectbox($parent_id = 0, $prefix_num = 0, $except = 0)
	{
		static $result = array();

		$q = $this->db
			->select("t1.id, t1.title")
			->from('blog_category' . ' AS t1')
			->where('parent_id', $parent_id)
			->where('t1.id <>', $except)
			->get();

		if ($q->num_rows() > 0)
		{
			foreach ($q->result() as $row)
			{
				$result[$row->id] = str_repeat('-', $prefix_num) . $row->title;
				// callback
				$this->tree_selectbox($row->id, ($prefix_num + 2), $except);
			}
		}

		return $result;
	}

}

/* End of file Blog_category_model.php */
